/*
 * XML Type:  BillPayRequestMessageSetV1
 * Namespace: http://ofx.net/types/2003/04
 * Java type: net.ofx.types.x2003.x04.BillPayRequestMessageSetV1
 *
 * Automatically generated - do not modify.
 */
package net.ofx.types.x2003.x04;


/**
 * An XML BillPayRequestMessageSetV1(@http://ofx.net/types/2003/04).
 *
 * This is a complex type.
 */
public interface BillPayRequestMessageSetV1 extends net.ofx.types.x2003.x04.AbstractRequestMessageSet
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s3A74FF4CC3627C5B0D40068015746F8A.TypeSystemHolder.typeSystem.resolveHandle("billpayrequestmessagesetv1df9etype");
    
    /**
     * Gets array of all "PAYEETRNRQ" elements
     */
    net.ofx.types.x2003.x04.PayeeTransactionRequest[] getPAYEETRNRQArray();
    
    /**
     * Gets ith "PAYEETRNRQ" element
     */
    net.ofx.types.x2003.x04.PayeeTransactionRequest getPAYEETRNRQArray(int i);
    
    /**
     * Returns number of "PAYEETRNRQ" element
     */
    int sizeOfPAYEETRNRQArray();
    
    /**
     * Sets array of all "PAYEETRNRQ" element
     */
    void setPAYEETRNRQArray(net.ofx.types.x2003.x04.PayeeTransactionRequest[] payeetrnrqArray);
    
    /**
     * Sets ith "PAYEETRNRQ" element
     */
    void setPAYEETRNRQArray(int i, net.ofx.types.x2003.x04.PayeeTransactionRequest payeetrnrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "PAYEETRNRQ" element
     */
    net.ofx.types.x2003.x04.PayeeTransactionRequest insertNewPAYEETRNRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "PAYEETRNRQ" element
     */
    net.ofx.types.x2003.x04.PayeeTransactionRequest addNewPAYEETRNRQ();
    
    /**
     * Removes the ith "PAYEETRNRQ" element
     */
    void removePAYEETRNRQ(int i);
    
    /**
     * Gets array of all "PAYEESYNCRQ" elements
     */
    net.ofx.types.x2003.x04.PayeeSyncRequest[] getPAYEESYNCRQArray();
    
    /**
     * Gets ith "PAYEESYNCRQ" element
     */
    net.ofx.types.x2003.x04.PayeeSyncRequest getPAYEESYNCRQArray(int i);
    
    /**
     * Returns number of "PAYEESYNCRQ" element
     */
    int sizeOfPAYEESYNCRQArray();
    
    /**
     * Sets array of all "PAYEESYNCRQ" element
     */
    void setPAYEESYNCRQArray(net.ofx.types.x2003.x04.PayeeSyncRequest[] payeesyncrqArray);
    
    /**
     * Sets ith "PAYEESYNCRQ" element
     */
    void setPAYEESYNCRQArray(int i, net.ofx.types.x2003.x04.PayeeSyncRequest payeesyncrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "PAYEESYNCRQ" element
     */
    net.ofx.types.x2003.x04.PayeeSyncRequest insertNewPAYEESYNCRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "PAYEESYNCRQ" element
     */
    net.ofx.types.x2003.x04.PayeeSyncRequest addNewPAYEESYNCRQ();
    
    /**
     * Removes the ith "PAYEESYNCRQ" element
     */
    void removePAYEESYNCRQ(int i);
    
    /**
     * Gets array of all "PMTTRNRQ" elements
     */
    net.ofx.types.x2003.x04.PaymentTransactionRequest[] getPMTTRNRQArray();
    
    /**
     * Gets ith "PMTTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentTransactionRequest getPMTTRNRQArray(int i);
    
    /**
     * Returns number of "PMTTRNRQ" element
     */
    int sizeOfPMTTRNRQArray();
    
    /**
     * Sets array of all "PMTTRNRQ" element
     */
    void setPMTTRNRQArray(net.ofx.types.x2003.x04.PaymentTransactionRequest[] pmttrnrqArray);
    
    /**
     * Sets ith "PMTTRNRQ" element
     */
    void setPMTTRNRQArray(int i, net.ofx.types.x2003.x04.PaymentTransactionRequest pmttrnrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "PMTTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentTransactionRequest insertNewPMTTRNRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "PMTTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentTransactionRequest addNewPMTTRNRQ();
    
    /**
     * Removes the ith "PMTTRNRQ" element
     */
    void removePMTTRNRQ(int i);
    
    /**
     * Gets array of all "RECPMTTRNRQ" elements
     */
    net.ofx.types.x2003.x04.RecurringPaymentTransactionRequest[] getRECPMTTRNRQArray();
    
    /**
     * Gets ith "RECPMTTRNRQ" element
     */
    net.ofx.types.x2003.x04.RecurringPaymentTransactionRequest getRECPMTTRNRQArray(int i);
    
    /**
     * Returns number of "RECPMTTRNRQ" element
     */
    int sizeOfRECPMTTRNRQArray();
    
    /**
     * Sets array of all "RECPMTTRNRQ" element
     */
    void setRECPMTTRNRQArray(net.ofx.types.x2003.x04.RecurringPaymentTransactionRequest[] recpmttrnrqArray);
    
    /**
     * Sets ith "RECPMTTRNRQ" element
     */
    void setRECPMTTRNRQArray(int i, net.ofx.types.x2003.x04.RecurringPaymentTransactionRequest recpmttrnrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "RECPMTTRNRQ" element
     */
    net.ofx.types.x2003.x04.RecurringPaymentTransactionRequest insertNewRECPMTTRNRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "RECPMTTRNRQ" element
     */
    net.ofx.types.x2003.x04.RecurringPaymentTransactionRequest addNewRECPMTTRNRQ();
    
    /**
     * Removes the ith "RECPMTTRNRQ" element
     */
    void removeRECPMTTRNRQ(int i);
    
    /**
     * Gets array of all "PMTINQTRNRQ" elements
     */
    net.ofx.types.x2003.x04.PaymentInquiryTransactionRequest[] getPMTINQTRNRQArray();
    
    /**
     * Gets ith "PMTINQTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentInquiryTransactionRequest getPMTINQTRNRQArray(int i);
    
    /**
     * Returns number of "PMTINQTRNRQ" element
     */
    int sizeOfPMTINQTRNRQArray();
    
    /**
     * Sets array of all "PMTINQTRNRQ" element
     */
    void setPMTINQTRNRQArray(net.ofx.types.x2003.x04.PaymentInquiryTransactionRequest[] pmtinqtrnrqArray);
    
    /**
     * Sets ith "PMTINQTRNRQ" element
     */
    void setPMTINQTRNRQArray(int i, net.ofx.types.x2003.x04.PaymentInquiryTransactionRequest pmtinqtrnrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "PMTINQTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentInquiryTransactionRequest insertNewPMTINQTRNRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "PMTINQTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentInquiryTransactionRequest addNewPMTINQTRNRQ();
    
    /**
     * Removes the ith "PMTINQTRNRQ" element
     */
    void removePMTINQTRNRQ(int i);
    
    /**
     * Gets array of all "PMTMAILTRNRQ" elements
     */
    net.ofx.types.x2003.x04.PaymentMailTransactionRequest[] getPMTMAILTRNRQArray();
    
    /**
     * Gets ith "PMTMAILTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentMailTransactionRequest getPMTMAILTRNRQArray(int i);
    
    /**
     * Returns number of "PMTMAILTRNRQ" element
     */
    int sizeOfPMTMAILTRNRQArray();
    
    /**
     * Sets array of all "PMTMAILTRNRQ" element
     */
    void setPMTMAILTRNRQArray(net.ofx.types.x2003.x04.PaymentMailTransactionRequest[] pmtmailtrnrqArray);
    
    /**
     * Sets ith "PMTMAILTRNRQ" element
     */
    void setPMTMAILTRNRQArray(int i, net.ofx.types.x2003.x04.PaymentMailTransactionRequest pmtmailtrnrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "PMTMAILTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentMailTransactionRequest insertNewPMTMAILTRNRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "PMTMAILTRNRQ" element
     */
    net.ofx.types.x2003.x04.PaymentMailTransactionRequest addNewPMTMAILTRNRQ();
    
    /**
     * Removes the ith "PMTMAILTRNRQ" element
     */
    void removePMTMAILTRNRQ(int i);
    
    /**
     * Gets array of all "PMTSYNCRQ" elements
     */
    net.ofx.types.x2003.x04.PaymentSyncRequest[] getPMTSYNCRQArray();
    
    /**
     * Gets ith "PMTSYNCRQ" element
     */
    net.ofx.types.x2003.x04.PaymentSyncRequest getPMTSYNCRQArray(int i);
    
    /**
     * Returns number of "PMTSYNCRQ" element
     */
    int sizeOfPMTSYNCRQArray();
    
    /**
     * Sets array of all "PMTSYNCRQ" element
     */
    void setPMTSYNCRQArray(net.ofx.types.x2003.x04.PaymentSyncRequest[] pmtsyncrqArray);
    
    /**
     * Sets ith "PMTSYNCRQ" element
     */
    void setPMTSYNCRQArray(int i, net.ofx.types.x2003.x04.PaymentSyncRequest pmtsyncrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "PMTSYNCRQ" element
     */
    net.ofx.types.x2003.x04.PaymentSyncRequest insertNewPMTSYNCRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "PMTSYNCRQ" element
     */
    net.ofx.types.x2003.x04.PaymentSyncRequest addNewPMTSYNCRQ();
    
    /**
     * Removes the ith "PMTSYNCRQ" element
     */
    void removePMTSYNCRQ(int i);
    
    /**
     * Gets array of all "RECPMTSYNCRQ" elements
     */
    net.ofx.types.x2003.x04.RecurringPaymentSyncRequest[] getRECPMTSYNCRQArray();
    
    /**
     * Gets ith "RECPMTSYNCRQ" element
     */
    net.ofx.types.x2003.x04.RecurringPaymentSyncRequest getRECPMTSYNCRQArray(int i);
    
    /**
     * Returns number of "RECPMTSYNCRQ" element
     */
    int sizeOfRECPMTSYNCRQArray();
    
    /**
     * Sets array of all "RECPMTSYNCRQ" element
     */
    void setRECPMTSYNCRQArray(net.ofx.types.x2003.x04.RecurringPaymentSyncRequest[] recpmtsyncrqArray);
    
    /**
     * Sets ith "RECPMTSYNCRQ" element
     */
    void setRECPMTSYNCRQArray(int i, net.ofx.types.x2003.x04.RecurringPaymentSyncRequest recpmtsyncrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "RECPMTSYNCRQ" element
     */
    net.ofx.types.x2003.x04.RecurringPaymentSyncRequest insertNewRECPMTSYNCRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "RECPMTSYNCRQ" element
     */
    net.ofx.types.x2003.x04.RecurringPaymentSyncRequest addNewRECPMTSYNCRQ();
    
    /**
     * Removes the ith "RECPMTSYNCRQ" element
     */
    void removeRECPMTSYNCRQ(int i);
    
    /**
     * Gets array of all "PMTMAILSYNCRQ" elements
     */
    net.ofx.types.x2003.x04.PaymentMailSyncRequest[] getPMTMAILSYNCRQArray();
    
    /**
     * Gets ith "PMTMAILSYNCRQ" element
     */
    net.ofx.types.x2003.x04.PaymentMailSyncRequest getPMTMAILSYNCRQArray(int i);
    
    /**
     * Returns number of "PMTMAILSYNCRQ" element
     */
    int sizeOfPMTMAILSYNCRQArray();
    
    /**
     * Sets array of all "PMTMAILSYNCRQ" element
     */
    void setPMTMAILSYNCRQArray(net.ofx.types.x2003.x04.PaymentMailSyncRequest[] pmtmailsyncrqArray);
    
    /**
     * Sets ith "PMTMAILSYNCRQ" element
     */
    void setPMTMAILSYNCRQArray(int i, net.ofx.types.x2003.x04.PaymentMailSyncRequest pmtmailsyncrq);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "PMTMAILSYNCRQ" element
     */
    net.ofx.types.x2003.x04.PaymentMailSyncRequest insertNewPMTMAILSYNCRQ(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "PMTMAILSYNCRQ" element
     */
    net.ofx.types.x2003.x04.PaymentMailSyncRequest addNewPMTMAILSYNCRQ();
    
    /**
     * Removes the ith "PMTMAILSYNCRQ" element
     */
    void removePMTMAILSYNCRQ(int i);
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 newInstance() {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, null ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, options ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, null ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, options ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        public static net.ofx.types.x2003.x04.BillPayRequestMessageSetV1 parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.ofx.types.x2003.x04.BillPayRequestMessageSetV1) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
